//
//  UIBarButtonItem+Extension.swift
//  iOSWeibo10
//
//  Created by ge on 16/5/14.
//  Copyright © 2016年 ge. All rights reserved.
//

import UIKit


/// 扩展UIBarButtonItem
extension UIBarButtonItem {
    
    // 方案4
    /// 便利构造函数, 在扩展中只能添加便利构造函数
    convenience init(imageName: String, target: AnyObject?, action: Selector) {
        // 创建按钮
        let button = UIButton()
        button.setImage(UIImage(named: imageName), forState: UIControlState.Normal)
        button.setImage(UIImage(named: imageName + "_highlighted"), forState: UIControlState.Highlighted)
        button.sizeToFit()
        
        // 设置点击事件
        button.addTarget(target, action: action, forControlEvents: UIControlEvents.TouchUpInside)
        
        // 创建UIBarButtonItem, 需要调用自己的指定构造函数
        self.init(customView:button)
    }

    // 方案3
    /// 创建带按钮的UIBarButtonItem, class表示类方法, 类名.方法名()
    class func createBarButtonItem(imageName:String) -> UIBarButtonItem {
        let button = UIButton()
        button.setImage(UIImage(named: imageName), forState: UIControlState.Normal)
        button.setImage(UIImage(named: imageName + "_highlighted"), forState: UIControlState.Highlighted)
        button.sizeToFit()  // 让控件根据里面的内容是设置大小
        
        return UIBarButtonItem(customView: button)
    }

}
